#include "multi_menu.h"  

key_table table[32]=
{
  { 1, 4, 2, 5,(*fun_a1),100},
  { 2, 1, 3, 7,(*fun_b1),100},
  { 3, 2, 4,13,(*fun_c1),100},
  { 4, 3, 1,16,(*fun_d1),100},
  
  { 5, 6, 6,20,(*fun_a21),100},          
  { 6, 5, 5, 1,(*fun_a22),100},

  { 7,12, 8, 7,(*fun_b21),12},         
  { 8, 7, 9, 8,(*fun_b22), 4},
  { 9, 8,10, 9,(*fun_b23), 0},                             
  {10, 9,11,10,(*fun_b24), 8},
  {11,10,12,25,(*fun_b25), 100},
  {12,11, 7, 2,(*fun_b26), 100},
  
  {13,15,14,13,(*fun_c21), 100},         
  {14,13,15,26,(*fun_c22), 100},                         
  {15,14,13, 3,(*fun_c23), 100},                         
  
  {16,19,17,16,(*fun_d21), 16},         
  {17,16,18,17,(*fun_d22), 20},                         
  {18,17,19,18,(*fun_d23), 24},                         
  {19,18,16, 4,(*fun_d24),100},
  
  {20,24,21,20,(*fun_a31), 0},
  {21,20,22,21,(*fun_a32), 8},
  {22,21,23,22,(*fun_a33), 4},
  {23,22,24,31,(*fun_a34),100},                        
  {24,23,20, 5,(*fun_a35),100}, 

  {25,25,25, 7,(*fun_b31),100},

  {26,30,27,26,(*fun_c31), 0},
  {27,26,28,27,(*fun_c32), 8},
  {28,27,29,28,(*fun_c33), 4},
  {29,28,30,32,(*fun_c34),100},                        
  {30,29,26,14,(*fun_c35),100},

  {31,31,31, 5,(*fun_a41),100},

  {32,32,32,14,(*fun_c41),100},

};

/*********第一层***********/
void fun_a1()   
{ 
  u8g2.setCursor(cursor_row,twoline);
  u8g2.print(">");
  u8g2.setCursor(5,oneline);
  u8g2.print("NanoLight-v1.5");
  u8g2.setCursor(selec,twoline);
  u8g2.print("赤道仪模式");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("云台模式");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("电调模式");                                         
}

void fun_b1()   
{ 
  u8g2.setCursor(cursor_row,thrline);
  u8g2.print(">");
  u8g2.setCursor(5,oneline);
  u8g2.print("NanoLight-v1.5");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("赤道仪模式");
  u8g2.setCursor(selec,thrline);
  u8g2.print("云台模式");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("电调模式");                                         
}

void fun_c1()   
{ 
  u8g2.setCursor(cursor_row,fline);
  u8g2.print(">");
  u8g2.setCursor(5,oneline);
  u8g2.print("NanoLight-v1.5");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("赤道仪模式");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("云台模式");
  u8g2.setCursor(selec,fline);
  u8g2.print("电调模式");                                         
}
void fun_d1()   
{ 
  u8g2.setCursor(cursor_row,fline);
  u8g2.print(">");
  u8g2.setCursor(5,oneline);
  u8g2.print("NanoLight-v1.5");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("云台模式");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("电调模式");
  u8g2.setCursor(selec,fline);
  u8g2.print("电机设置");                                         
}


/*********第二层***********/
void fun_a21()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(0,oneline);
  u8g2.print("方向");
  u8g2.setCursor(54,oneline);
  u8g2.print("速度");
  u8g2.setCursor(selec,twoline);
  u8g2.print("快门设置");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("返回");
  
  u8g2.setCursor(34,oneline);
  u8g2.print(N_S[digitalRead(DIR)]);
  u8g2.setCursor(86,oneline);
  u8g2.print(EQ_speedtab_UI[speedtabi]);                         
}

void fun_a22()    
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(0,oneline);
  u8g2.print("方向");
  u8g2.setCursor(54,oneline);
  u8g2.print("速度");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门设置");
  u8g2.setCursor(selec,thrline);
  u8g2.print("返回");           

  u8g2.setCursor(34,oneline);
  u8g2.print(N_S[digitalRead(DIR)]);
  u8g2.setCursor(86,oneline);
  u8g2.print(EQ_speedtab_UI[speedtabi]);  
}

void fun_b21()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(0,oneline);
  u8g2.print("方向");
  u8g2.setCursor(selec,twoline);
  u8g2.print("旋转角度");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("曝光时间");

  u8g2.setCursor(34,oneline);
  u8g2.print(N_S[digitalRead(DIR)]);
  u8g2.setCursor(80,twoline);
  u8g2.print(Rota_angle);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);
  u8g2.setCursor(80,fline);
  u8g2.print(Ex_time);

                                                 
}
void fun_b22()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("旋转角度");
  u8g2.setCursor(selec,twoline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("快门数");      
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Rota_angle);
  u8g2.setCursor(80,twoline);
  u8g2.print(Interval_time);
  u8g2.setCursor(80,thrline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,fline);
  u8g2.print(Shutter_num);                                            
}


void fun_b23()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("间隔时间");
  u8g2.setCursor(selec,twoline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Interval_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,thrline);
  u8g2.print(Shutter_num);
}


void fun_b24()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(selec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("启动");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");    
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);                                          
}

void fun_b25()    
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(selec,thrline);
  u8g2.print("启动");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);                                               
}
void fun_b26()    
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("启动");
  u8g2.setCursor(selec,fline);
  u8g2.print("返回"); 
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);                                              
}

void fun_c21()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(46,oneline);
  u8g2.print(FC_speedtab_UI[speedtabi_2]);
  u8g2.setCursor(selec,twoline);
  u8g2.print("手动快门");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("快门设置");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");

  u8g2.setCursor(80,twoline);
  u8g2.print(extime_fc);
  u8g2.setCursor(cursor_p,oneline);
  u8g2.print(Z_F[digitalRead(DIR)]);
                         
}
void fun_c22()    
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(46,oneline);
  u8g2.print(FC_speedtab_UI[speedtabi_2]);
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("手动快门");
  u8g2.setCursor(selec,thrline);
  u8g2.print("快门设置");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");
  
  u8g2.setCursor(80,twoline);
  u8g2.print(extime_fc);
  u8g2.setCursor(cursor_p,oneline);
  u8g2.print(Z_F[digitalRead(DIR)]);
                         
}
void fun_c23()    
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(46,oneline);
  u8g2.print(FC_speedtab_UI[speedtabi_2]);
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("手动快门");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("快门设置");
  u8g2.setCursor(selec,fline);
  u8g2.print("返回");

  u8g2.setCursor(80,twoline);
  u8g2.print(extime_fc);
  u8g2.setCursor(cursor_p,oneline);
  u8g2.print(Z_F[digitalRead(DIR)]);
                         
}

void fun_d21()    
{ 
  u8g2.setCursor(0,oneline);
  u8g2.print(">");
  u8g2.setCursor(selec,oneline);
  u8g2.print("总步数");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("减速比");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("最短脉冲");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");       
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Motor_total_step);
  u8g2.setCursor(80,twoline);
  u8g2.print(Dece_ratio);
  u8g2.setCursor(80,thrline);
  u8g2.print(MAX_us);
                                 
}

void fun_d22()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("总步数");
  u8g2.setCursor(selec,twoline);
  u8g2.print("减速比");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("最短脉冲");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");         
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Motor_total_step);
  u8g2.setCursor(80,twoline);
  u8g2.print(Dece_ratio);
  u8g2.setCursor(80,thrline);
  u8g2.print(MAX_us);                                  
}

void fun_d23()    
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("总步数");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("减速比");
  u8g2.setCursor(selec,thrline);
  u8g2.print("最短脉冲");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("返回");            
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Motor_total_step);
  u8g2.setCursor(80,twoline);
  u8g2.print(Dece_ratio);
  u8g2.setCursor(80,thrline);
  u8g2.print(MAX_us);                               
}

void fun_d24()    
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("总步数");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("减速比");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("最短脉冲");
  u8g2.setCursor(selec,fline);
  u8g2.print("返回");              
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Motor_total_step);
  u8g2.setCursor(80,twoline);
  u8g2.print(Dece_ratio);
  u8g2.setCursor(80,thrline);
  u8g2.print(MAX_us);                             
}

/*********第三层***********/
void fun_a31()     
{ 
  u8g2.setCursor(0,oneline);
  u8g2.print(">");
  u8g2.setCursor(selec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);

}

void fun_a32()      
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(selec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);
}

void fun_a33()      
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(selec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");  
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);                                           
}
void fun_a34()      
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(selec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);
}
void fun_a35()      
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("启动");
  u8g2.setCursor(selec,fline);
  u8g2.print("返回"); 

  u8g2.setCursor(80,oneline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,twoline);
  u8g2.print(Interval_time);
                                     
}

void fun_b31()    
{ 
  u8g2.setCursor(0,oneline);
  u8g2.print("方向");
  u8g2.setCursor(0,twoline);
  u8g2.print("旋转...");
  u8g2.setCursor(0,thrline);
  u8g2.print("曝光剩余");
  u8g2.setCursor(0,fline);
  u8g2.print("张数剩余"); 
      
  u8g2.setCursor(40,oneline);
  u8g2.print(N_S[digitalRead(DIR)]); 
  u8g2.setCursor(64,twoline);
  u8g2.print(angle_p);
  u8g2.setCursor(110,twoline);
  u8g2.print("%");
  u8g2.setCursor(64,thrline);
  u8g2.print(Ex_time);
  u8g2.setCursor(64,fline);
  u8g2.print(Shutter_n);                                 
}

void fun_c31()     
{ 
  u8g2.setCursor(0,oneline);
  u8g2.print(">");
  u8g2.setCursor(selec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);


}

void fun_c32()      
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(selec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);
}

void fun_c33()      
{ 
  u8g2.setCursor(0,thrline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(selec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,fline);
  u8g2.print("启动");  
  
  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);                                           
}
void fun_c34()      
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("曝光时间");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("间隔时间");
  u8g2.setCursor(selec,fline);
  u8g2.print("启动");

  u8g2.setCursor(80,oneline);
  u8g2.print(Ex_time);
  u8g2.setCursor(80,twoline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,thrline);
  u8g2.print(Interval_time);
}
void fun_c35()      
{ 
  u8g2.setCursor(0,fline);
  u8g2.print(">");
  u8g2.setCursor(nonselec,oneline);
  u8g2.print("快门数");
  u8g2.setCursor(nonselec,twoline);
  u8g2.print("间隔时间");
  u8g2.setCursor(nonselec,thrline);
  u8g2.print("启动");
  u8g2.setCursor(selec,fline);
  u8g2.print("返回"); 

  u8g2.setCursor(80,oneline);
  u8g2.print(Shutter_num);
  u8g2.setCursor(80,twoline);
  u8g2.print(Interval_time);
                                     
}
/*********第四层***********/
void fun_a41()    
{ 
  u8g2.setCursor(0,oneline);
  u8g2.print("方向");
  u8g2.setCursor(64,oneline);
  u8g2.print("速度");
  u8g2.setCursor(0,twoline);
  u8g2.print("曝光剩余");
  u8g2.setCursor(0,thrline);
  u8g2.print("间隔剩余");
  u8g2.setCursor(0,fline);
  u8g2.print("张数剩余");

  u8g2.setCursor(34,oneline);
  u8g2.print(N_S[digitalRead(DIR)]);
  u8g2.setCursor(96,oneline);
  u8g2.print(EQ_speedtab_UI[speedtabi]); 
  u8g2.setCursor(64,twoline);
  u8g2.print(Ex_time);
  u8g2.setCursor(64,thrline);
  u8g2.print(Interval_time);
  u8g2.setCursor(64,fline);
  u8g2.print(Shutter_n); 
                                 
}

void fun_c41()    
{ 
  u8g2.setCursor(0,twoline);
  u8g2.print("曝光剩余");
  u8g2.setCursor(0,thrline);
  u8g2.print("间隔剩余");
  u8g2.setCursor(0,fline);
  u8g2.print("张数剩余");

  u8g2.setCursor(64,twoline);
  u8g2.print(Ex_time);
  u8g2.setCursor(64,thrline);
  u8g2.print(Interval_time);
  u8g2.setCursor(64,fline);
  u8g2.print(Shutter_n); 
                                 
}

void UI_refresh(){
  u8g2.firstPage();
        do {
           (*current_operation_index)();} 
           while ( u8g2.nextPage() ); 
}

void UI_turn()
{
  if((digitalRead (UP)==0)||(digitalRead (DOWN)==0)||(digitalRead (OK)==0))
    {
      delay(20);//消抖
      if(digitalRead (UP)==0)
      {
        func_index = table[func_index].up - 1;    //
        while(!digitalRead (UP));//
      }
      if(digitalRead (DOWN)==0)
      {
        func_index = table[func_index].down - 1;    //
        while(!digitalRead (DOWN));
      }
      if(digitalRead (OK)==0)
      {
        func_index = table[func_index].enter - 1;    //
        while(!digitalRead (OK));
      }
    } 

    if (func_index != last_index)
    {
      current_operation_index = table[func_index].current_operation;
      UI_refresh();
      last_index = func_index;
    }
    
    if(((digitalRead (LEFT)==0)||(digitalRead (RIGHT)==0)) && (table[func_index].eeprom_num!=100))
    {
      delay(20);//消抖
      if((digitalRead (RIGHT)==0) )
      {
        switch(table[func_index].eeprom_num){
          case 0:{
            Ex_time++;
            current_operation_data = Ex_time;
          }break;
          case 4:{
            Interval_time++;
            current_operation_data = Interval_time;
          }break;
          case 8:{
            Shutter_num++;
            current_operation_data = Shutter_num;
          }break;
          case 12:{
            Rota_angle++;
            current_operation_data = Rota_angle;
          }break;
          case 16:{
            Motor_total_step++;
            if(Motor_total_step==0) Motor_total_step = 1;//限制
            current_operation_data = Motor_total_step;
          }break;
          case 20:{
            Dece_ratio++;
            if(Dece_ratio==0) Dece_ratio = 1;//限制
            current_operation_data = Dece_ratio;
          }break;
          case 24:{
            MAX_us++;
            if(MAX_us<=5) MAX_us = 5;//限制
            current_operation_data = MAX_us;
          }break;
          default :{
          }break;
        }
        EEPROM.put(table[func_index].eeprom_num, current_operation_data);
        UI_refresh();
      }
      if((digitalRead (LEFT)==0))
      {
        switch(table[func_index].eeprom_num){
          case 0:{
            Ex_time--;
            current_operation_data = Ex_time;
          }break;
          case 4:{
            Interval_time--;
            current_operation_data = Interval_time;
          }break;
          case 8:{
            Shutter_num--;
            current_operation_data = Shutter_num;
          }break;
          case 12:{
            Rota_angle--;
            current_operation_data = Rota_angle;
          }break;
          case 16:{
            Motor_total_step--;
            if(Motor_total_step==0) Motor_total_step = 1;//限制
            current_operation_data = Motor_total_step;
          }break;
          case 20:{
            Dece_ratio--;
            if(Dece_ratio==0) Dece_ratio = 1;//限制
            current_operation_data = Dece_ratio;
          }break;
          case 24:{
            MAX_us--;
            if(MAX_us<=5) MAX_us = 5;//限制
            current_operation_data = MAX_us;
          }break;
          default :{
          }break;
        }
        EEPROM.put(table[func_index].eeprom_num, current_operation_data);
        UI_refresh(); 
      }
      //电机设置菜单内，更新电机设置，并防止100x溢出
      if((func_index>=15)&&(func_index<=18)){
        starspeed = 86164*1000/(float)Dece_ratio/(float)Motor_total_step*1000/32;
        if(floor(starspeed/100)<=MAX_us){
          EQ_speedtab[0] = floor(starspeed);
          EQ_speedtab[1] = floor(starspeed*1.03788);
          EQ_speedtab[2] = MAX_us;
          EQ_speedtab[3] = MAX_us;
          }
        else {
          EQ_speedtab[0] = floor(starspeed);
          EQ_speedtab[1] = floor(starspeed*1.03788);
          EQ_speedtab[2] = floor(starspeed/100);
          EQ_speedtab[3] = MAX_us;
        }
        //电调速度刷新
        FC_speedtab[0] = 100*MAX_us;
        FC_speedtab[1] = 50*MAX_us;
        FC_speedtab[2] = 10*MAX_us;
        FC_speedtab[3] = MAX_us;
      }
      
      
    }
}
